# views 路由 + 视图函数

from flask import Blueprint

# 蓝图 需要到__init__.py当中绑定blue
blue = Blueprint('user', __name__)


@blue.route('/')
def index():
    return 'index'


# 路由参数
# string 接收任何没有斜杠('/')的文件(默认）
# int 接收整型
# float 接收浮点型
# path 接收路径，可接收斜线('/')
# uuid 只接收uuid字符串，唯一码，一种生成规则
# any 可以同时指定多种路径，进行限定
@blue.route('/string/username>/')
def get_string(username):
    print(type(username))
    return username


@blue.route('/int/<int:id>')
def get_int(id):
    print(type(id))
    return str(id)


@blue.route('/float/<float:money>')
def get_float(money):
    print(type(money))
    return str(money)


@blue.route('/path/<path:name>')
def get_path(name):
    print(type(name))
    return str(name)


@blue.route('/uuid/<uuid:id>')
def get_uuid(id):
    print(type(id))
    return str(id)


@blue.route('/getuuid/')
def get_uuid2():
    import uuid
    return str(uuid.uuid4())


@blue.route('/any/<any(apple, orange, banana):fruit>/')
def get_any(fruit):
    print(type(fruit))
    return str(fruit)

# methods：请求方式
# 默认不支持POST
# 如果需要同时支持GET和POST，就设置methods
@blue.route('/methods/', methods=['GET', 'POST'])
def get_methods():
    return 'methods'

